package edu.asselvi.seguros.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import edu.asselvi.seguros.db.DbUtils;
import edu.asselvi.seguros.exception.ESegurosErros;
import edu.asselvi.seguros.exception.SegurosException;
import edu.asselvi.seguros.pojo.Sinistro;

public class SinistroDao extends DbUtils{

	Connection conn = null;
	
	public SinistroDao(Connection conn) {
		this.conn = conn;
	}
	
	
	public Sinistro insert(Sinistro sinistro) throws SegurosException {

		String sql = "INSERT INTO SINISTROS (ID_SINISTRO, DATA_SINISTRO, DESCRICAO, DOCUMENTACAO, FK_ID_ITEM) VALUES (?,?,?,?,?)";
		PreparedStatement p = null;
		
		try {
			p = conn.prepareStatement(sql);
			sinistro.setId_sinistro(getNextId("SEQ_SINISTROS", conn));
			int cont = 1;
			
			p.setInt(cont++, sinistro.getId_sinistro());
			p.setDate(cont++, utilDatetoSQLDate(sinistro.getData_sinistro())); //converte util.date para sql.date
			p.setString(cont++, sinistro.getDescricao());
			p.setString(cont++, sinistro.getDocumentacao());
			p.setInt(cont++, sinistro.getFk_id_item());

			p.executeUpdate();

		} catch (SQLException e) {
			throw new SegurosException(ESegurosErros.ERRO_INSERCAO);
			
		} finally {
			close(p);
		}
		
		return sinistro;
	}

	
}
